package com.epalmpay.service.management;


import com.epalmpay.entity.TradeOffline;

/**
 * 发送邮件和短信  微信模板消息
 * @author Administrator
 *
 */

public interface ITemplateMailSendService {
	
	

	/**
	 * 发送邮件
	 * @return
	 * @throws Exception
	 */
	public Boolean sendMail(String title,String content,String tomail) throws Exception;
	
	
	/**
	 * 发送商户注册密码
	 * @param tel
	 * @param username
	 * @param password
	 * @return
	 * @throws Exception
	 */
	public Boolean sendMerchantCreateSms(Long groupId,String phone,String username,String password) throws Exception;
	
	
	/**
	 * 发送代理商注册密码
	 * @param tel
	 * @param username
	 * @param password
	 * @return
	 * @throws Exception
	 */
	public Boolean sendAgentCreateSms(Long groupId,String phone,String username,String password) throws Exception ;
		
	
	
	/**
	 *  交易类模板通知
	 * @param tradeOffline
	 * @param template
	 * @param memberId  模板发送会员ID
	 * @param groupId
	 * @param businessType  支付类型
	 * @param url
	 * @return
	 * @throws Exception
	 */
	public Boolean sendTemplate(TradeOffline tradeOffline,String template,Long memberId,Long groupId,Integer businessType,String masterUrl) throws Exception;
	
	/**
	 * 会员普通类业务-模板通知(会员注册,修改密码 审核等通知)
	 * @param tradeOffline
	 * @param template
	 * @param groupId
	 * @param businessType
	 * @param url
	 * @return
	 * @throws Exception
	 */
	public Boolean sendMemberTemplate(Long memberId,String template,String url,String description) throws Exception;
	
	/**
	 * 卡劵核销通知
	 * @param shopId 核销门店id
	 * @param memberId 核销会员id
	 * @param couponCode 劵码
	 * @param goodName   劵名称
	 * @param template   模板编号
	 * @return
	 * @throws Exception
	 */
	public Boolean sendCouponVerifyTemplate(Long shopId,Long memberId,String couponCode,String goodName,String template,String orderNum,String masterUrl) throws Exception;
	
	
	/**
	 * 订单发送模板通知(发货,取消订单)
	 * @param tradeOffline
	 * @param template
	 * @param memberId
	 * @param groupId
	 * @param businessType
	 * @param masterUrl
	 * @return
	 * @throws Exception
	 */
	public Boolean sendOrderTemplate(String orderId,String template,Long memberId,Long groupId,String masterUrl) throws Exception;

	/**
	 *  洗衣结束模板通知
	 * @param tradeOffline
	 * @param template
	 * @param memberId  模板发送会员ID
	 * @param groupId
	 * @param businessType  支付类型
	 * @param url
	 * @return
	 * @throws Exception
	 */
	public Boolean sendTemplate(TradeOffline tradeOffline,String template,Long memberId,Long groupId,Integer businessType,String masterUrl, String status) throws Exception;

}
